package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.common.PageResult;
import com.example.pojo.dto.SlideshowQueryDto;
import com.example.pojo.entity.Slideshow;
import com.example.pojo.vo.SlideshowQueryVo;
import java.util.List;

/**
 * 轮播图 service 层接口
 */
public interface SlideshowService extends IService<Slideshow> {

    /**
     * 增加轮播图
     *
     * @param slideshow 轮播图
     */
    void add(Slideshow slideshow);

    /**
     * 分页查询轮播图
     *
     * @param pageNum 页码
     * @param pageSize 页大小
     * @param dto 条件
     * @return 分页结果
     */
    PageResult<SlideshowQueryVo> pageQuery(Integer pageNum, Integer pageSize, SlideshowQueryDto dto);

    /**
     * 根据轮播图id，查询轮播图
     *
     * @param id 轮播图id
     * @return 轮播图
     */
    SlideshowQueryVo queryById(Integer id);

    /**
     * 查询全部轮播图
     *
     * @return 全部轮播图
     */
    List<SlideshowQueryVo> queryAll();

    /**
     * 修改轮播图
     *
     * @param slideshow 轮播图
     */
    void update(Slideshow slideshow);

    /**
     * 根据轮播图id，删除轮播图
     *
     * @param id 轮播图id
     */
    void delete(Integer id);

    /**
     * 根据轮播图id列表，删除轮播图
     *
     * @param ids 轮播图id列表
     */
    void deleteBatch(List<Integer> ids);
}
